再帰中に高階関数が交じると混乱する -> 難しく考え過ぎ脳を分解するだけ

subs [] = [[]]
subs (x:xs) = yss ++ map (x:) yss
 where
 yss = subs xs

そんなことはいいから、基底のところだけ考える

-- subs [1,2]
[[]] ++ map (2:) [[]]

map部分

これはすぐわかる [[2]]

全体

map部分がわかったので、これもすぐわかる

[[]] ++ [[2]] -> [[], [2]]

まとめ

  • タイトルどおり
  • 落ち着け